![]() 仮想ネットワークインターフェースを有するメッセージ処理エンジン
专利摘要:
メッセージ処理エンジンは、仮想ネットワークインターフェース及び物理的ネットワークインターフェースの間のインターフェースを橋渡しすることにより、発信メッセージ及び着信メッセージを傍受しうる。メッセージ処理エンジンは、ポリシーに基づいてパケットが処理されることになるか否かを判定しうるRAWパケット分析器を有し、その後にプロトコルの第1のセットを使用してパケットをデコードし、デコードされた状態で変換(translation)を実行し、その後に同じ又は異なるプロトコルのセットを使用してパケットをエンコードしうる。メッセージ処理エンジンは、2つの他の互換性のないデバイスが通信することを可能にすると同時に、セキュリティプロトコルを含む多様なプロトコルを同様に構成された別のデバイスとの通信に適用するための変換を実行するのに使用しうる。多くの実施形態において、RAWパケット分析器は管理権限でのサービスでありうるが、デコーダー、エンコーダー及び変換器はユーザー権限で動作しうる。 公开号:JP2011511559A 申请号:JP2010544985 申请日:2008-12-30 公开日:2011-04-07 发明作者:アール.ジャスティス ジョン;アレキサンダー;アレン ニコラス 申请人:マイクロソフト コーポレーション; IPC主号:H04L12-56
专利说明:
[0001] 様々なデバイス間の通信は、通信への参加者の各々が実装を試みようとする多様なプロトコルの採用により、多くの場合に容易となる。] 背景技術 [0002] プロトコルは、様々な参加者により開発されうる様々なサービス及びアプリケーション間の標準化された通信を確立するのに使用されうる。いくつかのプロトコルは、メッセージの送信を完了することを保証するか、メッセージ送信をスピードアップするために他のデバイスからメッセージを取得することを防ぐか、又は他の任意の目的のために使用されうる。] 発明が解決しようとする課題 [0003] プロトコルが様々な参加者によって実装されるとき、プロトコル仕様書又はある参加者が実装するかもしれないし、他の参加者が実装しないかもしれない仕様書内の選択的な特徴のいくつかの誤った解釈が多くの場合に存在する。小さな相違でさえ、いくつかの通信に失敗を引き起こしうる。] 課題を解決するための手段 [0004] メッセージ処理エンジンは、仮想ネットワークインターフェース及び物理的ネットワークインターフェースの間のインターフェースを橋渡しすることにより、発信メッセージ及び着信メッセージを傍受することができる。メッセージ処理エンジンは、ポリシーに基づいてパケットが処理されることになるか否かを判定することができるRAWパケット分析器を有し、その後にプロトコルの第1のセットを使用してパケットをデコードし、デコードされた状態で変換(translation)を実行し、その後に同じ又は異なるプロトコルのセットを使用してパケットをエンコードすることができる。メッセージ処理エンジンは、2つの他の互換性のないデバイスが通信することを可能にすると同時に、セキュリティプロトコルを含む多様なプロトコルを同様に構成された別のデバイスとの通信に適用するための変換を実行するのに使用することができる。多くの実施形態において、RAWパケット分析器は管理権限でのサービスであってもよいし、デコーダー、エンコーダー及び変換器はユーザー権限で動作してもよい。] [0005] この課題を解決するための手段は、発明を実施するための形態において以下でさらに説明される簡略化された形式における概念の選択を紹介するために提供される。この課題を解決するための手段は、特許請求された主題の主要な特徴又は本質的な特徴を特定することを意図せず、特許請求された主題の範囲を限定するのに使用されることも意図しない。] 図面の簡単な説明 [0006] メッセージ処理エンジンを有するシステムを示す実施形態の概略図である。 メッセージ処理エンジンを有するデバイスを有するネットワークを示す実施形態の概略図である メッセージを処理する方法を示す実施形態のフロー図である。] 実施例 [0007] メッセージ処理エンジンは、着信メッセージ及び発信メッセージを傍受及び処理するために仮想ネットワークインターフェースで動作することができる。メッセージ処理エンジンはアプリケーションレベルで多様な変換又は修正を実行できると同時に、メッセージを送信するのに使用されるプロトコルを修正することが可能でもよい。] [0008] ある用途シナリオにおいて、メッセージ処理エンジンは、いずれのアプリケーションに任意の修正又は変更をすることなく、2つのアプリケーション間で送信されたメッセージを修正するのに使用されてもよい。このような用途は、ソースコードが利用可能でない古いシステム又はアプリケーションソフトウェアと接続するためのメカニズムであってもよい。] [0009] 別の用途シナリオにおいて、2つ以上のデバイスは、メッセージを作成するアプリケーションにより適用されなかった多様なセキュリティプロトコルを使用して互いに接続するためにメッセージ処理エンジンを使用してもよい。このような一実施形態は、発信メッセージ及び着信メッセージに1つ以上のセキュリティ関連プロトコルを適用してもよい。] [0010] メッセージ処理エンジンはアプリケーションとのネットワーク通信をキャプチャーするのに仮想ネットワークインターフェースを使用する。仮想ネットワークインターフェースは物理的ネットワークインターフェースとして機能しうるが、ソフトウェア又はファームウェアにおいて実行されてもよい。仮想ネットワークインターフェースは、多様な処理を実行するために仮想ネットワークインターフェースが発信パケット及び着信パケットをキャプチャー及びルーティングすることが可能でもよい。] [0011] 仮想ネットワークインターフェースにまたがる通信は、メッセージ処理エンジンを通して管理されてもよいし、物理的ネットワーク接続に渡されてもよい。同様に物理的ネットワーク接続上で受信されたメッセージは、同様の方式で分析及び処理されてもよい。ポリシーのセットは、着信パケット及び発信パケットの処分のために、RAWパケット分析器により使用されてもよい。] [0012] 分析において使用されるポリシーは、パケット及びプロトコル、変換、又は指定のパケットに適用されうる他の処理のための識別メカニズムを含んでもよい。いくつかの実施形態において、いくつかの様々なポリシーは様々なタイプのメッセージに適用されてもよい。] [0013] メッセージ処理エンジンは、パケットに関連付けられうる多様なプロトコルを使用してパケットをデコードすることによってパケットを開封してもよいし、アプリケーションレベルでパケットに含まれるメッセージを処理してもよい。いくつかの場合において、複数のパケットはアプリケーションレベルのメッセージを再作成するために統合されうる。他の場合において、単一のパケットは多くのアプリケーションレベルのメッセージを含みうる。] [0014] 一旦、アプリケーションレベルのメッセージが1つ以上のパケットから形成されると、多様な変換が実行されうる。アプリケーションレベルのメッセージは、ネットワーク上でメッセージを転送するのに使用しうる任意のプロトコル、エンコーディング又は他の処理に先立って、アプリケーションによって作成された形式と同じ形式であってもよい。アプリケーションレベルでの処理の後、メッセージ及びパケットに適用された発信ポリシーから1つ以上のパケットが作成されてもよい。パケットはその後、物理的ネットワークインターフェースに沿って送信されてもよい。着信パケットは上記処理を逆にすることによって扱われてもよい。] [0015] メッセージ処理エンジンが変換動作を実行する用途シナリオにおいて、デコーディングプロトコル及びエンコーディングプロトコルは同じプロトコルであってもよい。いくつかの他の用途シナリオにおいて、デコーディングプロトコル及びエンコーディングプロトコルは異なるプロトコルであってもよい。] [0016] 本明細書を通して、似た参照番号は図面の説明を通して同じ要素を示す。] [0017] 要素が「接続」又は「結合」と呼ばれるとき、それらの要素は直接に接続若しくは一緒に結合できるか、又は1以上の仲介要素も存在してもよい。] [0018] 主題は、デバイス、システム、方法及び/又はコンピュータープログラム製品として具体化されてもよい。したがって、主題のいくつか又はすべてはハードウェア及び/又はソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、状態マシン、ゲートアレイ等を含む)において具体化されてもよい。さらに主題は、命令実行システムに使用されるか又は接続されて媒体に具体化されるコンピューター使用可能又はコンピューター読み取り可能なプログラムコードを有するコンピューター使用可能又はコンピューター読み取り可能な記憶媒体上のコンピュータープログラム製品の形式を取ってもよい。この文書の背景において、コンピューター使用可能又はコンピューター読み取り可能な媒体は、命令実行システム、装置若しくはデバイスによる使用のためか又は接続されて、プログラムを含むか、格納するか、通信するか、伝播する又は転送できる任意の媒体であってもよい。] [0019] コンピューター使用可能又はコンピューター読み取り可能な媒体は、例えば、電子、磁気、光、電磁気、赤外線又は半導体システム、装置、デバイス又は伝播媒体であってもよいが、これらに限定されない。例としてであり限定ではなく、コンピューター読み取り可能な媒体はコンピューター記憶媒体及び通信媒体を含んでもよい。] [0020] コンピューター記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータなどの情報の格納のための任意の方法又は技術において実装された、揮発性及び不揮発性、取り外し可能及び固定の媒体を含む。コンピューター記憶媒体は、所望の情報を格納するのに使用でき、命令実行システムによってアクセスできる、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、DVD(digital versatile disk)又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージディスク若しくは任意の他の媒体を含むがこれらに限定されない。コンピューター使用可能又はコンピューター読み取り可能な媒体は、プログラムを、例えば紙又は他の媒体の光スキャンを介して電子的にキャプチャーでき、その後コンパイルし、解釈し、必要ならば適当な方式で処理し、その後コンピューターメモリに格納できるように、プログラムが印刷された紙又は別の適切な媒体でありえることに留意されたい。] [0021] 通信媒体は典型的に、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は搬送波若しくは他の転送メカニズム等の変調データ信号における他のデータを具体化し、任意の情報搬送媒体を含む。「変調データ信号」という用語は、1以上の特性セットを有するか、又は信号内の情報をエンコードするような方式で変更される信号を意味する。例としてであり限定ではなく、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、及び音波、RF、赤外線及び他の無線媒体などの無線媒体を含む。上述の任意の組み合わせも、コンピューター読み取り可能な媒体の範囲内に含まれなければならない。] [0022] 主題がコンピューター実行可能命令の一般的な内容において具体化されるとき、実施形態は1以上のシステム、コンピューター又は他のデバイスにより実行されるプログラムモジュールを含んでいてもよい。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、又は特定の抽象データタイプを実装する。典型的には、プログラムモジュールの機能性を、多様な実施形態において望むように結合又は分散してもよい。] [0023] 図1はメッセージ処理エンジンを有するシステムを示す実施形態100の概略図である。実施形態100は、メッセージ処理エンジンの多様な特性、特徴及び用途を強調するのに使用される簡略化された例である。] 図1 [0024] 図1の概略図は、システムの機能的コンポーネントを図示し、システムのハードウェア及びソフトウェアコンポーネントと直接に対応していない場合もある。いくつかの場合において、コンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネント又はハードウェア及びソフトウェアの組み合わせであってもよい。ハードウェアコンポーネントは、多くの様々なタスクを実行するために適用可能な汎用のコンポーネント、又はとても特有な機能を実行するために最適化されうる特別に設計されたコンポーネントを含んでもよい。コンポーネントのいくつかはアプリケーションレベルのソフトウェアであってもよいし、他のコンポーネントはオペレーティングシステムレベルのコンポーネントであってもよい。いくつかの場合において、あるコンポーネントの別のコンポーネントへの接続は、2つ以上のコンポーネントが単一のハードウェアプラットフォーム上で動作する閉鎖的な接続であってもよい。別の場合において、接続は長い距離に及ぶネットワーク接続上でなされてもよい。各実施形態は、上述の多様な機能を達成するための様々なハードウェア、ソフトウェア及び相互接続アーキテクチャを使用してもよい。] 図1 [0025] 実施形態100は、コンピューターシステム等のデバイス全体の一部としてのメッセージ処理エンジン102の機能的コンポーネントの図示である。実施形態100に図示されるコンポーネントは単一のデバイスの一部であってもよい。] [0026] アプリケーション104は、動作の通常のコースを通して仮想ネットワークインターフェース106にパケットを送ってもよい。仮想ネットワークインターフェース106は物理的ネットワーク接続108をシミュレートするソフトウェア構成であってもよい。アプリケーション104が物理的ネットワークインターフェース108ではなく仮想ネットワークインターフェース106を通してネットワーク通信を送信及び受信するような方式で、仮想ネットワークインターフェース106をインストールしてもよい。] [0027] 物理的ネットワーク接続108は、動作デバイスの外部の物理接続上でメッセージを送信及び受信するネットワーク接続であってもよい。多くの実施形態においてコンピューターデバイスは配線で接続されたイーサーネット接続、無線接続、又はネットワークへのいくつかの他の物理インターフェースを有してもよい。] [0028] メッセージ処理エンジン102は、仮想ネットワークインターフェース106と物理ネットワーク接続108との間の着信メッセージ及び発信メッセージを処理してもよい。入ってくるパケット及び出ていくパケットのそれぞれは、メッセージ処理エンジン102によりパケットが処理されることになるか否かを判定するために分析されてもよい。メッセージが処理されることにならない場合、メッセージは仮想ネットワークインターフェース106間で物理的ネットワーク接続108に転送されてもよい。] [0029] 実施形態100における矢印は、アプリケーション104から送信された発信パケットが、どのようにメッセージ処理エンジン102を通して処理されうるかを図示する。メッセージ処理エンジン102は着信パケットについて類似する処理を適用してもよい。] [0030] アプリケーション104がメッセージを送信するとき、メッセージは複数パケットに分割されてもよい。いくつかの場合において、単一のパケットは多くのアプリケーションレベルのメッセージを含んでもよい。] [0031] 仮想ネットワークインターフェース106に送信されたパケットは、ポリシー11に基づいてパケットを分析及び処分しうるRAWパケット分析器110によって分析されてもよい。RAWパケット分析器110は物理的ネットワーク接続108にパケットを転送するか、又はメッセージ処理エンジン102を通してパケットを送ってもよい。] [0032] RAWパケット分析器110は、処理するパケットのタイプ並びにパケットのそのタイプで実行されうる多様な処理及び変換を定義しうるポリシー111のセットを使用してもよい。RAWパケット分析器110により使用される識別子はパケットの任意の特性であってもよい。いくつかの場合において、パケットのヘッダー又はパケットの中身はパケットのタイプを判定するために検査されてもよい。他の場合において、目的アドレス、ポート又は他のパラメータ等の多様なルーティング情報を使用してもよい。] [0033] いくつかの実施形態は、アプリケーション104及び外部デバイス又はサービス間の通信セッションを確立し、セッションに関連付けられたパケットを識別してもよい。このセッションは多様なハンドシェイク又は他の通信を通して確立されてもよい。セッションを確立する間、RAWパケット分析器110はセッションに関連付けられたパケットがメッセージ処理エンジン102により処理されることになることを判定してもよい。] [0034] 発信パケットが仮想ネットワークインターフェース106上で受信され、パケットが処理されることになる判定が行われるとき、パケットはバッファー112に置かれてもよい。バッファー112は、RAWパケット分析器110がメッセージ処理エンジン102の残りと同期しないで動作することを可能としてもよい。] [0035] パケットはその後デコーダー114に進み、パケットはアプリケーション104によって使用されるプロトコルのセットを使用してデコードされてもよい。デコーディング処理は、パケットの中身を元のアプリケーションレベルのメッセージに戻すためにパケット上で実行されたいかなる変換、パッケージング又は設定も取り除いてもよい。] [0036] 多くのアプリケーションは、2つ以上の処理間の通信を容易にするために使用されうる多様なプロトコルを使用する。このようなプロトコルの例は、TCP、SOAP、及び多くの他のプロトコルを含む。いくつかのプロトコルがメッセージが完全に到達して失われた部分がないことを保証するのに使用しうる一方で、他のプロトコルは暗号化しうるか、又はさもなければ侵入者からメッセージ内のデータを保護してもよい。いくつかの実施形態において、多くのプロトコルはアプリケーション104によってパケットに適用されてもよい。] [0037] いくつかの例において、メッセージ処理エンジン102をパケットに関連付けられたプロトコルを変更するのに使用し、アプリケーションレベルでパケットを変換しなくてもよい。このような例において、フィルター116はデコーダー114からエンコーダー122への発信パケットを変換してもよい。] [0038] パケットに対してアプリケーションレベルの変換が示されているとき、パケットはメッセージアシミレーター118に転送されてもよい。メッセージアシミレーター118は、場合によって、複数のパケットからアプリケーションレベルのメッセージを作成してもよいし、単一のパケットから複数のアプリケーションレベルのメッセージを作成してもよい。いくつかの場合において、メッセージを作り上げるパケットをデコードすることにより、順番にパケットを配列することにより、及びデコードされたパケットの中身を一緒に統合することにより、アプリケーションレベルのメッセージを作成してもよい。] [0039] 変換器120は、パケットに関連付けられたポリシーに111において定義されるように、アプリケーションレベルのメッセージに任意のタイプの変換、変形又は変更を実行しうる。いくつかの場合において、小さい変更はアプリケーション層メッセージのフォーマットになされてもよいし、一方で他の場合において、メッセージの総合的な変形が起こってもよい。それぞれの実施形態は成されうる様々なタイプの変更を有し、このような変更は複合的なアルゴリズム又は任意の他のメカニズムにより定義されてもよい。] [0040] 変換器120がアプリケーション層メッセージを修正した後、メッセージは、パケットに変換され、エンコーダー122により同じ又は異なるプロトコルのセットでエンコードされ、バッファー124に入り、RAWパケット分析器110によって物理的ネットワーク接続108に送信されてもよい。] [0041] 同じ用途シナリオにおいて、エンコーダー122は、パケットをデコードするためにデコーダー114がしたのと同じプロトコルを、パケットをエンコードするために適用しうる。他の実施形態において、様々なプロトコルのセットがデコーダー114だけでなくエンコーダー122によって適用されてもよい。いくつかの用途シナリオは本明細書において後に論じられる。] [0042] 多くの実施形態において、仮想ネットワークインターフェース106は管理者又はカーネルレベルの権限で動作されるサービスであってもよい。多くのコンピューティング環境において、カーネルレベルのサービスは一般に高く権限化され、プログラミングに特別な配慮をして作成されうる。このような環境において、カーネルレベルのサービスにより可能にされる機能は、特にカーネルのサービスが強力な権限を有するとき、他のサービスとの干渉の問題を引き起こすことを避けるために制限されてもよい。] [0043] 実施形態100は、RAWパケット分析器110及び仮想ネットワークインターフェース106が管理者モード126又はカーネル処理でありうるように、構成されてもよい。メッセージ処理エンジン102の残っている部分も、アプリケーション104も、ユーザーモード128又はユーザー特有の権限で動作してもよい。ユーザーモード128及び管理者モード126処理の間の架け橋の役割を、バッファー112及びバッファー124が果たしてもよい。] [0044] この方式で処理を分割することにより、ポリシー111のセットは、メッセージ処理エンジン102又は物理的ネットワーク接続108を通してパケットをルーティングするために、RAWパケット分析器110により使用されてもよい。メッセージ処理エンジン102内の残っている処理は、アプリケーション104と同じユーザー権限で動作してもよい。このような実施形態において、多様な変換器120及びデコーダー114及びエンコーダー122により使用されるプロトコルが、ユーザー基準及びユーザーの許可設定によりインストールされ、動作し、ユーザー上で制御されてもよい。] [0045] 発信パケットを扱うとして示されているが、実施形態100は同様な様式で着信パケットを処理するのにも使用されてもよい。パケットが物理的ネットワーク接続108上で受信されるとき、RAWパケット分析器110はポリシー111を使用してパケットを分析し、仮想ネットワークインターフェース106に直接、又はメッセージ処理エンジン102を通してパケットをルーティングしてもよい。] [0046] 着信メッセージはその後、エンコードされて、仮想ネットワークインターフェース106に、そしてその後アプリケーション104に渡される前に、デコーディング、フィルタリング、同化(アシミレーション)及び変換の多様なステップを通過してもよい。この方式においてメッセージ処理エンジン102は、着信メッセージ及び発信メッセージの両方に、プロトコル変更及びアプリケーションレベルの変換を提供することができる。] [0047] 図2は、メッセージ処理エンジンを有するデバイス付きのネットワークを示す実施形態200の概略図である。実施形態200はネットワーク環境におけるメッセージ処理エンジンの多様な特性、特徴及び用途を強調するために使用される簡略化された例である。] 図2 [0048] 図2の概略図は、システムの機能的なコンポーネントを図示し、システムのハードウェア及びソフトウェアコンポーネントに直接対応していない場合もある。いくつかの場合において、コンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネント、又はハードウェア及びソフトウェアの組み合わせであってもよい。ハードウェアコンポーネントは、多くの異なるタスクを実行するのに適用可能な汎用のコンポーネント、又は非常に特殊な機能を実行するために最適化されうる特別に設計されたコンポーネントを含んでもよい。コンポーネントのいくつかはアプリケーションレベルのソフトウェアであってもよいし、他のコンポーネントはオペレーティングシステムレベルのコンポーネントであってもよい。いくつかの場合において、あるコンポーネントの別のコンポーネントへの接続は、2つ以上のコンポーネントが単一のハードウェアプラットフォーム上で動作している閉鎖的な接続であってもよい。他の場合において、長い距離の範囲のネットワーク接続上で接続がなされうる。各実施形態は、上述の多様な機能を達成するために、様々なハードウェア、ソフトウェア及び相互接続アーキテクチャを使用してもよい。] 図2 [0049] 実施形態200は、ネットワーク環境におけるメッセージ処理エンジンの様々な用途シナリオを図示する。デバイス202及びデバイス204はネットワーク208と接続し、それぞれがメッセージ処理エンジンを有してもよい。デバイス206はメッセージ処理エンジンなしでネットワーク208に接続してもよい。] [0050] デバイス202は、仮想ネットワークインターフェース212と通信するアプリケーション120を含むという点で実施形態100と似ていてもよい。メッセージ処理エンジン216は着信メッセージ及び発信メッセージを処理し、仮想ネットワークインターフェース212及び物理的ネットワーク接続214間の橋渡しをすることができる。物理的ネットワーク接続214はネットワーク208及びデバイス202間の接続であってもよい。] [0051] 同様に、デバイス204は、仮想ネットワークインターフェース220と通信するアプリケーション218を含みうるという点で実施形態100と似ていてもよい。メッセージ処理エンジン224は着信メッセージ及び発信メッセージを処理し、仮想ネットワークインターフェース220及び物理的ネットワーク接続222間の橋渡しをすることができる。物理的ネットワーク接続222はネットワーク208及びデバイス204間の接続であってもよい。] [0052] デバイス206は、物理的ネットワーク接続228と直接に通信しうるアプリケーション226を有し、ネットワーク208に接続することができる。] [0053] 実施形態200はメッセージ処理エンジンについての多くの用途シナリオを図示するのに使用されてもよい。] [0054] ある用途シナリオにおいて、メッセージ処理エンジンを有するデバイスは、メッセージ処理エンジンを有さない別のデバイスに接続してもよい。このようなシナリオにおいて、メッセージ処理エンジンは2つのアプリケーション又はサービス間の変換を提供するために使用されてもよい。この変換はあるメッセージプロトコルから別のメッセージプロトコルへの逆であり、メッセージの中身へのアプリケーションレベルの変更も包含してもよい。] [0055] この用途シナリオにおいて、メッセージ処理エンジンは2つのアプリケーション又はサービス間で、これらのアプリーション又はサービスに変更を行うことなく橋渡し又は変換の役割を果たしてもよい。] [0056] 例えば、デバイス206上のアプリケーション226は、第三者により提供され、インターネット上でホストされるウェブサービスであってもよい。アプリケーション226は、サービスを使用するクライアントデバイスと通信するための特有のプロトコルのセットを使用してもよい。この例において、デバイス202は、開発者がアプリケーション226と接続を望む古いアプリケーション210を有するクライアントデバイスであってもよい。この開発者は2つのアプリケーションを接続するためにメッセージ処理エンジン216により使用されうるポリシー230を作成してもよい。メッセージ処理エンジン216は、あるプロトコルのセットと共にアプリケーション210から発信メッセージを受信し、このメッセージをデコードし、アプリケーション226が受け入れられるプロトコルのセットでメッセージをエンコードしてもよい。同様に、アプリケーション226からのメッセージは、メッセージ処理エンジン216によって受信され、デコードされ、アプリケーション210によって期待されるプロトコルのセットを使用してエンコードされてもよい。] [0057] この用途シナリオにおいて、仮想ネットワークインターフェース212は、メッセージ処理エンジン216がアプリケーション210又はアプリケーション226を修正する必要なく着信メッセージ及び発信メッセージを傍受、分析及び修正することを可能にした。ポリシー230を定義することにより、開発者は、さもなければ通信することができないかもしれない2つのアプリケーション間の通信を可能にすることができる。ユーザーの視点から、ユーザーのアプリケーション210がリモートサービス226とのインターフェースをとることにより追加の機能性を有することを可能にするポリシー230を、ユーザーはインストール可能であってもよい。] [0058] 多くのこのようなシナリオにおいて、メッセージ処理エンジン216は単にパケットへのプロトコル変更を提供してもよい。あるアプリケーションは特有のプロトコルのより古いバージョンを使用してもよいし、別のユーザーはより新しいバージョンを使用し、このバージョンは若干、互換性がなくてもよい。より新しいプロトコルは、例えば改善されたセキュリティのために使用されてもよい。このような変更は、技術の観点から比較的単純であってもよいが、より古いアプリケーション210がクライアントデバイス上で使用中であり、アプリケーション226においてリモートでホストされたサービスが互換性がないとき、代替の解決は、より古いアプリケーション210をアップグレードすることであってもよい。代わりに、より古いアプリケーション210がより古いプロトコルを使用して仮想ネットワークインターフェース212でメッセージを送り及び受信することを可能にすることをポリシー230が実装してもよいし、メッセージ処理エンジン216はネットワーク208での通信が新しいプロトコルに適合しうることを保証する。] [0059] いくつかのシナリオにおいて、メッセージ処理エンジン216は着信メッセージ及び発信メッセージのアプリケーションレベルの変換を提供してもよい。このようなシナリオは、2つのアプリケーションがアプリケーションレベル通信の2つの異なるバージョンを実装しようとするとき役に立ちうる。] [0060] 別の用途シナリオにおいて、2つのデバイス上のメッセージ処理エンジンは、VPN(Virtual Private Network)又は他のポイントツーポイントのセキュリティメカニズムを使用することなく、デバイス間のセキュアな通信のために使用されてもよい。このような用途シナリオにおいて、デバイス202及びデバイス204のそれぞれは、ポリシー230及びポリシー232を有するメッセージ処理エンジン216及びメッセージ処理エンジン224をそれぞれ有する。いくつかの実施形態は、マルチポイント又はブロードキャストのメッセージ送信技術を用いてもよい。] [0061] ポリシー230及びポリシー232は、1つ以上のセキュリティプロトコルを他のデバイス宛の発信メッセージに適用し、セキュリティプロトコルを使用して着信メッセージをデコードするよう構成されてもよい。この方式で、デバイス202及びデバイス204の間のネットワーク208での多様な通信が、適切なポリシー230及びポリシー232を単に適用することにより、セキュアとなりうる。] [0062] 図3はメッセージを処理するための方法を示す実施形態300のフローチャート図である。実施形態300は、発信メッセージを処理するために使用されうるステップのシーケンスの簡略化された例である。他の実施形態は様々な用語又は術語を使用し、追加のステップを含んでもよいし、単一のステップに2つ以上のステップを組み合わせてもよい。他の実施形態において、連続で図示したいくつかのステップは並列及び順番を逆にして実施されてもよい。] 図3 [0063] 実施形態300は発信メッセージを処理するための方法の一例である。着信メッセージは同様の方式で扱われてもよい。] [0064] ブロック302において、パケットは仮想ネットワークインターフェース上で受信されてもよい。処理の後、ブロック324において、パケットは物理的ネットワーク接続上で送信されてもよい。着信メッセージを扱う一実施形態において、パケットは、物理的ネットワーク接続上で受信され、仮想ネットワークインターフェース上で送信されてもよい。両方のタイプの実施形態は同じ基本方式でパケットを処理してもよい。] [0065] パケットは、ポリシーに反してブロック304において分析されてもよい。ポリシーは、メッセージ処理エンジンにより処理されうるパケットのタイプを定義してもよい。このようなポリシーは、パケットをデコード及びエンコードするのに使用される多様なプロトコルだけでなく、アプリケーションレベルのメッセージ上で実行されうる任意の変換を定義することもできる。] [0066] ブロック306においてパケットがポリシーに適合しない場合、ブロック324においてパケットは物理的ネットワーク接続上に送信される。このような場合において、パケットは処理されることなく仮想ネットワークインターフェースから物理的ネットワーク接続に単に移動されてもよい。] [0067] ブロック306においてパケットがポリシーに適合する場合、ブロック308においてパケットはバッファーに置かれてもよい。バッファーは、メッセージ処理エンジンの他の一部で、ブロック304及びブロック306の機能を実行しうるRAWパケット分析器の非同期の動作を可能にすることができる。] [0068] ブロック310においてパケットはポリシーにおいて定義されるプロトコルを使用してデコードされてもよい。プロトコルは、転送、セキュリティ又は任意の他の理由をパケットに適用しうる任意のタイプのプロトコルであってもよい。] [0069] ブロック312においてパケットがアプリケーション層で変換されない場合、ブロック320において処理はエンコードに進む。] [0070] ブロック312においてパケットがアプリケーション層で変換される場合、ブロック314においてアプリケーションメッセージは1以上のパケットから作成されてもよい。いくつかの実施形態において、アプリケーションメッセージはいくつかのパケットで送信されてもよい。他の実施形態において、単一のパケットはいくつかのアプリケーションメッセージを含んでもよい。ブロック312において、多様なパケットがアプリケーション層のメッセージにバッファー、組織化及び集約される。] [0071] ブロック316においてメッセージは変換されてもよい。変換は、アプリケーション層のメッセージへの任意のタイプの操作、追加、除去、分析、変換又は他の変更を含んでもよい。] [0072] 変換の後、ブロック318においてメッセージが送信のために準備されてもよい。例えば、メッセージは送信のために分離したパケットに分けられてもよい。いくつかの場合において、2つ以上のメッセージが単一のパケットに包含されてもよい。] [0073] ブロック320において、パケットはポリシーにおいて指定されたプロトコルを使用してエンコードされてもよい。エンコーディングプロトコルは、ブロック310においてパケットをデコードするのに使用されていたプロトコルと同一のプロトコルであってもよいが、同一のプロトコルでなくてもよい。] [0074] パケットはバッファー322に置かれ、ブロック324において物理的ネットワーク上で送信されてもよい。] [0075] 実施形態300は、発信パケットのキャプチャー、処理及び送信するのに使用されうる簡略化されたアルゴリズムである。] [0076] 主題の前述の説明は、図示及び説明の目的で示されてきた。包括的であること又は開示された精密な形式に主題を限定することを意図せず、上述の教示に照らして他の修正及び変化が可能でありうる。発明の本質を最も良く説明するために実施形態は選ばれ説明され、この実質的なアプリケーションはしたがって、多様な実施形態においてこの発明を最も利用し、熟考された特定の用途に合うように多様な修正することを当業者に可能にする。添付の特許請求の範囲は、従来技術により限定される範囲で除外する他の代替の実施形態を含むよう構成されることを意図する。]
权利要求:
請求項1 仮想ネットワークインターフェース上で第1のパケットを受信するステップ(302)と、前記第1のパケットを分析するステップ(304)、及び前記第1のパケットが第1のパケットタイプであることを判定するステップであって、前記第1のパケットタイプは第1のポリシーで定義されているステップと、第1のプロトコルのセットを使用して前記第1のパケットをデコードするステップ(310)と、第2のプロトコルのセットを使用して前記第1のパケットをエンコードするステップ(320)と、物理的ネットワークインターフェース上で前記第1のパケットを送信するステップ(324)とを備えたことを特徴とする方法。 請求項2 前記物理的ネットワークインターフェース上で第2のパケットを受信するステップと、前記第2のパケットを分析するステップ、及び前記第2のパケットが前記第1のパケットタイプであることを判定するステップと、第2のプロトコルのセットを使用して前記第2のパケットをデコードするステップと、第1のプロトコルのセットを使用して前記第2のパケットをエンコードするステップと、前記仮想ネットワークインターフェース上で前記第2のパケットを送信するステップとをさらに備えたことを特徴とする請求項1に記載の方法。 請求項3 前記第2のパケットはマルチキャストパケットであることを特徴とする請求項2に記載の方法。 請求項4 前記第1のパケットはマルチキャストパケットであることを特徴とする請求項1に記載の方法。 請求項5 前記受信するステップ及び前記分析するステップは、管理権限を有する処理により実行され、前記デコードするステップ及び前記エンコードするステップは、ユーザー権限を有する処理により実行されることを特徴とする請求項1に記載の方法。 請求項6 前記デコードするステップの後で前記エンコードするステップの前に、前記第1のパケットの変換を実行するステップをさらに備えたことを特徴とする請求項1に記載の方法。 請求項7 前記プロトコルの第1のセット及び前記プロトコルの第2のセットは、同じプロトコルのセットであることを特徴とする請求項4に記載の方法。 請求項8 前記仮想ネットワークインターフェース上で第3のパケットを受信するステップと、前記第3のパケットを分析するステップ、及び前記第3のパケットが第2のパケットタイプであることを判定するステップであって、前記第2のパケットタイプは前記第1のポリシーで定義されないステップと、前記物理的ネットワークインターフェース上で前記第3のパケットを送信するステップとをさらに備えたことを特徴とする請求項1に記載の方法。 請求項9 前記第1のポリシーは第1のアプリケーションに関連付けられて前記第1のパケットタイプを定義し、第2のポリシーは第2のアプリケーションに関連付けられて前記第2のパケットタイプを定義することを特徴とする請求項8に記載の方法。 請求項10 請求項1に記載の方法を実行するよう構成されたコンピューター実行可能命令を備えることを特徴とするコンピューター読み取り可能な媒体。 請求項11 仮想ネットワークインターフェース(106)と、第1のパケットタイプ、第1のプロトコルのセット及び第2のプロトコルのセットについての識別メカニズムを備える第1のポリシー(111)と、第1のパケットを受信し、前記第1のパケットが第1のパケットタイプのであることを判定するよう構成されたRAWパケット分析器であって、前記第1のパケットタイプは第1のポリシーで定義されているRAWパケット分析器(110)と、前記パケットのデコードされた状態を作成するために、前記第1のプロトコルのセットを使用して、前記第1のパケットをデコードするよう構成されたデコーダー(114)と、前記第2のプロトコルのセットを使用して、前記デコードされた状態から前記第1のパケットをエンコードするよう構成されたエンコーダー(112)と、物理的ネットワーク接続(108)とを備えることを特徴とするデバイス。 請求項12 前記RAWパケット分析器は前記仮想ネットワークインターフェースから前記第1のパケットを受信するよう構成されることを特徴とする請求項11に記載のデバイス。 請求項13 前記RAWパケット分析器は前記物理的ネットワークインターフェースから前記第1のパケットを受信するよう構成されることを特徴とする請求項11に記載のデバイス。 請求項14 前記第1のパケットはマルチキャストパケットであることを特徴とする請求項11に記載のデバイス。 請求項15 前記デコードされた状態における前記第1のパケットを変換するよう構成された変換器をさらに備えることを特徴とする請求項11に記載のデバイス。 請求項16 前記プロトコルの第1のセット及び前記プロトコルの第2のセットは同じプロトコルのセットであることを特徴とする請求項15に記載のデバイス。 請求項17 前記第1のパケットタイプは第1のアプリケーションと関連付けられることを特徴とする請求項11に記載のデバイス。 請求項18 第2のパケットタイプ、第3のプロトコルのセット及び第4のプロトコルについての識別メカニズムを備える第2のポリシーであって、前記第2のパケットタイプが第2のアプリケーションに関連付けられている第2のポリシーをさらに備えることを特徴とする請求項11に記載のデバイス。 請求項19 前記デコーダーは前記第3のプロトコルのセットを使用してデコードするようさらに構成され、前記エンコーダーは前記第4のプロトコルのセットを使用してエンコードするようさらに構成されることを特徴とする請求項18に記載のデバイス。 請求項20 前記RAWパケット分析器は管理権限で動作し、前記エンコーダー及び前記デコーダーはユーザー権限で動作していることを特徴とする請求項11に記載のデバイス。
类似技术:
公开号 | 公开日 | 专利标题 AU2016266557B2|2020-07-02|Secure dynamic communication network and protocol Gazis2016|A Survey of Standards for Machine-to-Machine and the Internet of Things US9712486B2|2017-07-18|Techniques for the deployment and management of network connected devices US20200127891A9|2020-04-23|Managing network connected devices US10044825B2|2018-08-07|Generic transcoding service for client-server communication US9473581B2|2016-10-18|Integrated web-enabled session border controller US9467446B2|2016-10-11|Runtime API framework for client-server communication US8832820B2|2014-09-09|Isolation and security hardening among workloads in a multi-tenant networked environment CN103327025B|2016-08-24|网络访问控制方法及装置 EP2740046B1|2017-02-08|System and method for client-server communication facilitating utilization of network-based procedure call US20160036862A1|2016-02-04|Highly Scalable Architecture for Application Network Appliances US6081900A|2000-06-27|Secure intranet access CN1209712C|2005-07-06|用于使用本地ip地址和不可转换端口地址的局域网的网址转换网关 US7810148B2|2010-10-05|Enabling terminal services through a firewall US8861522B2|2014-10-14|Method for providing an internal server with reduced IP addresses DE602004004300T2|2007-06-06|Verfahren, System und Computerprogramm für das Senden und Empfangen von Meldungen durch einen individuellen Kommunikationskanal US9705729B2|2017-07-11|General client engine with load balancing for client-server communication KR101209148B1|2012-12-07|멀티-프로세서 컴퓨팅 환경에서 데이터 서비스들을 관리하기 위한 방법 및 장치 US8239520B2|2012-08-07|Network service operational status monitoring US7907525B2|2011-03-15|Method of communicating packet multimedia to restricted endpoints US8139581B1|2012-03-20|Concurrent data transfer involving two or more transport layer protocols over a single one-way data link US8199761B2|2012-06-12|Communications multiplexing with packet-communication networks Fry et al.1999|Application level active networking US9762643B2|2017-09-12|Providing hosted virtual desktop infrastructure services US7739382B2|2010-06-15|Dynamic extension of network-accessible services
同族专利:
公开号 | 公开日 JP5277259B2|2013-08-28| US20120327934A1|2012-12-27| US20090190585A1|2009-07-30| EP2241159B1|2015-04-22| CN101953224A|2011-01-19| WO2009097071A2|2009-08-06| EP2241159A4|2013-02-13| CN101953224B|2015-06-17| EP2241159A2|2010-10-20| US8705529B2|2014-04-22| US8254381B2|2012-08-28| WO2009097071A3|2009-10-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-09-08| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110907 | 2012-12-10| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121210 | 2012-12-17| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121214 | 2013-03-14| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130313 | 2013-04-11| TRDD| Decision of grant or rejection written| 2013-04-22| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130419 | 2013-05-23| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130520 | 2013-05-24| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5277259 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2015-04-16| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 | 2015-04-24| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 | 2016-05-10| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2017-05-09| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-05-08| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-05-14| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-04-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2021-04-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|